s = input()
n = len(s)
# dp[i] 表示以字符串s的第i个字符结尾的松散子序列的最大价值。
dp = [0] * n

# 遍历字符串中的每个字符
for i in range(n):
    # 计算当前字符的价值，'a' 对应 1，'b' 对应 2，以此类推
    val = ord(s[i]) - ord('a') + 1
    # 初始化 dp[i] 为当前字符的价值
    dp[i] = val
    # 遍历 i 之前的位置 j，且 j 要满足 j < i - 1
    for j in range(i - 2, -1, -1):
        # 更新 dp[i] 为 dp[i] 和 dp[j] + val 中的较大值
        dp[i] = max(dp[i], dp[j] + val)

# 输出 dp 数组中的最大值，即松散子序列的最大价值
print(max(dp))